package com.ktgj.customer.domain;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ktgj.common.core.annotation.Excel;
import com.ktgj.common.core.web.domain.BaseEntity;

/**
 * 财务自动对账结果对象 finance_autobill_exception
 * 
 * @author ruoyi
 * @date 2022-06-13
 */
public class FinanceAutobillException implements Serializable
{
    private static final long serialVersionUID = 1L;

    /** 主键ID */
    @Excel(name = "主键ID")
    private Long billExceptionId;

    /** 对账表主键（金色有，此字段为空） */
    @Excel(name = "对账表主键", readConverterExp = "金=色有，此字段为空")
    private Long summaryBillId;

    /** 对账错误的类型(1001:渠道错误 2001:票号错误,3001:佣金错误 4001:退票费错误 5001:票面价错误 6001:税费错误 7001:CRM有对方没有 7002：CRM没有对方有 8001：其他) */
    @Excel(name = "对账错误的类型(1001:渠道错误 2001:票号错误,3001:佣金错误 4001:退票费错误 5001:票面价错误 6001:税费错误 7001:CRM有对方没有 7002：CRM没有对方有 8001：其他)")
    private String exceptionType;

    /** 1：待系统自动处理 2：待人工处理（系统最终没处理成功的会自动转到人工） 3：处理完成 */
    @Excel(name = "1：待系统自动处理 2：待人工处理", readConverterExp = "系=统最终没处理成功的会自动转到人工")
    private String status;

    /** 操作时间时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "操作时间时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date operationtime;

    /** 操作人ID */
    @Excel(name = "操作人ID")
    private Long operator;

    /** 应付表主键（金色无，此字段为空） */
    @Excel(name = "应付表主键", readConverterExp = "金=色无，此字段为空")
    private Long payableId;

    /** 对账次数 */
    @Excel(name = "对账次数")
    private Long checkTimes;

    /** 账期时间唯一识别号 */
    @Excel(name = "账期时间唯一识别号")
    private String billTimeNumber;

    /**
     * 出票渠道
     * */
    private String ticketingChannel;

    /**
     * 票号
     * */
    private String ticketNumber;

    /**
     * 机票订单明细id
     * */
    private Long flightOrderInfoTicketsId;

    /**
     * 外部单号
     * */
    private String outsideBillNumber;

    /** 创建时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "创建时间")
    private Date createTime;

    /** 备注 */
    @ApiModelProperty(value = "备注")
    private String remark;

    /*-----------------------------------------------------------------------*/

    /**
     * 操作人姓名
     * */
    private String operatorName;

    /**
     * 数据类型
     * */
    private String dataStart;

    /**
     * 对账结果
     * */
    private String result;

    /**
     * 状态
     * */
    private String start;

    /**
     * 对账次数
     * */
    private String count;

    /**
     * 税费总额
     */
    private BigDecimal taxAmount;

    /**
     * 票面总额
     */
    private BigDecimal amount;

    /**
     * 佣金
     */
    private BigDecimal commission;

    public BigDecimal getTaxAmount()
    {
        return taxAmount;
    }

    public void setTaxAmount(BigDecimal taxAmount)
    {
        this.taxAmount = taxAmount;
    }

    public BigDecimal getAmount()
    {
        return amount;
    }

    public void setAmount(BigDecimal amount)
    {
        this.amount = amount;
    }

    public BigDecimal getCommission()
    {
        return commission;
    }

    public void setCommission(BigDecimal commission)
    {
        this.commission = commission;
    }

    public Date getCreateTime() {
        return createTime;
    }

    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    public String getRemark() {
        return remark;
    }

    public void setRemark(String remark) {
        this.remark = remark;
    }

    public String getResult() {
        return result;
    }

    public void setResult(String result) {
        this.result = result;
    }

    public String getStart() {
        return start;
    }

    public void setStart(String start) {
        this.start = start;
    }

    public String getCount() {
        return count;
    }

    public void setCount(String count) {
        this.count = count;
    }

    public String getDataStart() {
        return dataStart;
    }

    public void setDataStart(String dataStart) {
        this.dataStart = dataStart;
    }

    public String getOutsideBillNumber() {
        return outsideBillNumber;
    }

    public void setOutsideBillNumber(String outsideBillNumber) {
        this.outsideBillNumber = outsideBillNumber;
    }

    public Long getFlightOrderInfoTicketsId() {
        return flightOrderInfoTicketsId;
    }

    public void setFlightOrderInfoTicketsId(Long flightOrderInfoTicketsId) {
        this.flightOrderInfoTicketsId = flightOrderInfoTicketsId;
    }

    public String getOperatorName() {
        return operatorName;
    }

    public void setOperatorName(String operatorName) {
        this.operatorName = operatorName;
    }

    public String getTicketNumber() {
        return ticketNumber;
    }

    public void setTicketNumber(String ticketNumber) {
        this.ticketNumber = ticketNumber;
    }

    public String getTicketingChannel() {
        return ticketingChannel;
    }

    public void setTicketingChannel(String ticketingChannel) {
        this.ticketingChannel = ticketingChannel;
    }

    public void setBillExceptionId(Long billExceptionId)
    {
        this.billExceptionId = billExceptionId;
    }

    public Long getBillExceptionId() 
    {
        return billExceptionId;
    }
    public void setSummaryBillId(Long summaryBillId) 
    {
        this.summaryBillId = summaryBillId;
    }

    public Long getSummaryBillId() 
    {
        return summaryBillId;
    }

    public String getExceptionType() {
        return exceptionType;
    }

    public void setExceptionType(String exceptionType) {
        this.exceptionType = exceptionType;
    }

    public void setStatus(String status)
    {
        this.status = status;
    }

    public String getStatus() 
    {
        return status;
    }
    public void setOperationtime(Date operationtime) 
    {
        this.operationtime = operationtime;
    }

    public Date getOperationtime() 
    {
        return operationtime;
    }
    public void setOperator(Long operator) 
    {
        this.operator = operator;
    }

    public Long getOperator() 
    {
        return operator;
    }
    public void setPayableId(Long payableId) 
    {
        this.payableId = payableId;
    }

    public Long getPayableId() 
    {
        return payableId;
    }
    public void setCheckTimes(Long checkTimes) 
    {
        this.checkTimes = checkTimes;
    }

    public Long getCheckTimes() 
    {
        return checkTimes;
    }
    public void setBillTimeNumber(String billTimeNumber) 
    {
        this.billTimeNumber = billTimeNumber;
    }

    public String getBillTimeNumber() 
    {
        return billTimeNumber;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("billExceptionId", getBillExceptionId())
            .append("summaryBillId", getSummaryBillId())
            .append("exceptionType", getExceptionType())
            .append("status", getStatus())
            .append("createTime", getCreateTime())
            .append("operationtime", getOperationtime())
            .append("operator", getOperator())
            .append("payableId", getPayableId())
            .append("checkTimes", getCheckTimes())
            .append("remark", getRemark())
            .append("billTimeNumber", getBillTimeNumber())
            .toString();
    }
}
